import qs from 'querystring'

/**
 * 普通页面跳转
 * @param { String } url 页面路径
 * @param { Object } params 携带的参数
 */
export function toPage(url, params = {}){
	const qsStr = qs.stringify(params)
	uni.navigateTo({
		url: `${url}?${qsStr}`
	})
}

/**
 * tabBar页面跳转
 * @param {String} url 跳转的页面路径。
 */
export function toSwitch(url){
	uni.switchTab({url})
}

/**
 * 返回上级页面
 * @param { Number } delta 返回层数
 */
export function back(delta){
	uni.navigateBack({delta})
}

/**
 * 轻提示
 * @param { String } text 提示内容
 */
export function showToast(text){
	uni.showToast({
		title:text,
		icon: 'none',
		duration: 2000
	})
}

/**
 * 时间转换星期
 * @param { Number } day
 */
export function getDay(day){
	switch(day){
		case 0:
			return '星期天';
		case 1: 
			return '星期一';
		case 2:
			return '星期二';
		case 3:
			return '星期三';
		case 4:
			return '星期四';
		case 5:
			return '星期五';
		case 6:
			return '星期六';
	}
}

/**
 * 获取任意时间
 */
export function getDate(date, AddDayCount = 0) {
	if (!date) {
		date = new Date()
	}
	if (typeof date !== 'object') {
		date = date.replace(/-/g, '/')
	}
	const dd = new Date(date)

	dd.setDate(dd.getDate() + AddDayCount) // 获取AddDayCount天后的日期

	const y = dd.getFullYear()
	const m = dd.getMonth() + 1 < 10 ? '0' + (dd.getMonth() + 1) : dd.getMonth() + 1 // 获取当前月份的日期，不足10补0
	const d = dd.getDate() < 10 ? '0' + dd.getDate() : dd.getDate() // 获取当前几号，不足10补0
	return {
		fullDate: y + '-' + m + '-' + d,
		year: y,
		month: m,
		date: d,
		day: dd.getDay()
	}
}

/**
 * 生成随机字符串
 */
export function generateRandomString(length) {
  let result = '';
  const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
  
  for (let i = 0; i < length; i++) {
    result += characters.charAt(Math.floor(Math.random() * characters.length));
  }
  
  return result;
}